home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMIGA PD 1
/
AMIGA-PD-1.iso
/
NetBSD
/
docs-netbsd
/
Mailinglist-Archive
/
1994-08.gz
/
1994-08
/
000191_owner-amiga@sun…s.berkeley.edu_Thu Aug 4 19:33:37 1994.msg
< prev
next >
Wrap
Text File
|
1994-10-16
|
2KB
|
48 lines
X400-Originator: /dd.id=1619692/g=hamish/i=hi/s=macdonald/@bnr.ca
X400-Mts-Identifier:
[/PRMD=BNR/ADMD=TELECOM.CANADA/C=CA/;bcars735.b.487:04.07.94.16.27.41]
X400-Content-Type: P2-1984 (2)
Content-Identifier: Re: forwarded...
From: "hamish (h.i.) macdonald" <hamish@bnr.ca>
To: amiga@sun-lamp.cs.berkeley.edu
Subject: Re: forwarded message from Jukka Forsgren
Sender: owner-amiga@sun-lamp.cs.berkeley.edu
>>>>> On Tue Aug 2 18:24:00 1994,
>>>>> cherry wrote:
cherry> For the record, I have tried this, and I still get lockups.
cherry> No changes. Sorry. :)
I'd just like to point out that the mechanism NetBSD uses in the A2091
and A3000 DMA drivers (just do DMA as long as transfers are requested)
can give big problems if that final bytes of a chunk of memory are
read from.
In a SCSI write, the DMA chip reads memory, and will continue to read
memory until the SCSI FIFO is full.
If you write 1K starting at (end-of-chunk-1K), then the DMA controller
will attempt to read past (end-of-chunk) in order to fill the FIFO
(since the DMA controller was just told to write to the SCSI chip, not
told to write 1K).
When this happens, you end up with a total lockup, since the resulting
bus-error cannot be reported to the DMA controller, only to the CPU.
The same problem occurred with Linux/68k for the Amiga, and was fixed
by detecting end-of-chunk DMA requests, and using a bounce buffer in
those cases.
You might want to figure out if this could be the case.
When NetBSD only supported one chunk, it was pretty much impossible,
since the final page of that chunk was reserved for the kernel message
buffer.
Perhaps this is happening now. There is multiple memory chunk support
in NetBSD now, isn't there?
Regards,
Hamish.